package com.zsqat.eshop.product.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * spu信息
 *
 * @author zsqat
 * @email 491192853@qq.com
 * @date 2020-11-19 16:40:59
 */
@Data
@TableName("pms_spu_info" )
public class SpuInfoEntity implements Serializable {
  private static final long serialVersionUID = 1L;

  /**
   * 商品id
   */
  @TableId
  private Long id;
  /**
   * 商品名称
   */
  private String spuName;
  /**
   * 商品描述
   */
  private String spuDescription;
  /**
   * 所属分类id
   */
  private Long categoryId;
  /**
   * 品牌id
   */
  private Long brandId;
  /**
   *
   */
  private BigDecimal weight;
  /**
   * 上架状态[0 - 下架，1 - 上架]
   */
  private Integer publishStatus;
  /**
   *
   */
  private Date createTime;
  /**
   *
   */
  private Date updateTime;
}

/*
 SPU：是商品信息聚合的最小单位，是一组可复用、易检索的标准化信息的集合，该集合描述了一个产品的特性。
 SKU：即库存进出计量的单位(买家购买、商家进货、供应商备货、工厂生产都是依据SKU进行的)。
 SKU是物理上不可分割的最小存货单元。也就是说一款商品，可以根据SKU来确定具体的货物存量。

 实例：
 SPU：苹果6(商品聚合信息的最小单位),如手机->苹果手机->苹果6,苹果6就是SPU。
 SKU：土豪金 16G 苹果6 (商品的不可再分的最小单元)。

 从广义上讲，类目 > SPU > SKU。



 如一件M码(四个尺码：S码、M码、L码、X码)的粉色(三种颜色：粉色、黄色、黑色)Zara女士风衣，其中M码、粉色就是一组SKU的组合。

 SKU在生成时, 会根据属性生成相应的笛卡尔积，根据一组SKU可以确定商品的库存情况，那么上面的Zara女士风衣一共有4 * 3 = 12个SKU组合。

 M码 + 粉色这两个属性组合被称为一组SKU、因为SKU是物理上不可分割的最小存货单元，单凭尺寸或者颜色是没有办法确认这款商品的库存情况。

 同理商家进货补货也是通过SKU来完成的，试问淘宝店家跟供货商说我要100件红色女士风衣？供应商知道该怎么给他备货吗？

 显然是不知道的。因为还欠缺了另外的一个销售属性【尺码】。

 spu和sku都是属性值的集合
   SPU 属性(不会影响到库存和价格的属性, 又叫关键属性)
   Oppo R17这是商品的SPU，但Oppo R17只是一个名词，单纯的理解这个名词是没有意义的。
   Oppo R17是这个商品的SPU，这里的SPU是一组商品的属性组合。如下所示
  [硬件参数]：
    CPU 型号：高通骁龙™ 670
    CPU 频率：2.0GHz
    核心数：八核
    处理器位数：64 位
    GPU 型号：Adreno™ 615
    电池容量：3500mAh（典型值）*
  [尺寸]：
    长：约 157.5mm
    宽：约 74.9mm
    厚：约 7.5mm
    重：约 182g
    以及包括【摄像头】、【显示屏】、【操作系统】等等这些属性构成了一个SPU、这个SPU属性组合的名称叫做Oppo R17。
    spu : 包含在每一部 oppo r17 的属性集合, 与商品是一对一的关系(产地:中国, 毛重:182g...)
    SKU 属性(会影响到库存和价格的属性, 又叫销售属性)
    sku : 影响价格和库存的 属性集合, 与商品是多对一的关系，即一个商品有多个SKU。
    如流光蓝（三种颜色：流光蓝、霓光紫、霓光渐变色）+8G+128G（两种配置：8G+128G、6G+128G）。
    即Oppo R17有一个SPU、6种SKU。
    单品 : 国人对于SKU的另外一种叫法。

  SKU和商品之间的关系
    1).SKU（或称商品SKU）指的是商品子实体。
    2).商品SPU和商品SKU是包含关系，一个商品SPU包含若干个商品SKU子实体，商品SKU从属于商品SPU。
    3).SKU不是编码，每个SKU包含一个唯一编码，即SKU Code，用于管理。
    4).商品本身也有一个编码，即Product Code，但不作为直接库存管理使用。






SPU 是商品信息聚合的最小单位，是一组可复用、易检索的标准化信息的集合，该集合描述了一个产品的特性。
    通俗点讲，属性值、特性相同的商品就可以称为一个SPU。
    例如：iphone4就是一个SPU，与商家，与颜色、款式、套餐都无关。
SKU 即库存进出计量的单位， 可以是以件、盒、托盘等为单位。
    SKU是物理上不可分割的最小存货单元。在使用时要根据不同业态，不同管理模式来处理。
    在服装、鞋类商品中使用最多最普遍。例如：纺织品中一个SKU通常表示：规格、颜色、款式。
*/
